package com.zzyl.service;

import com.github.pagehelper.Page;
import com.zzyl.base.PageResponse;
import com.zzyl.dto.AlertRuleDto;
import com.zzyl.vo.AlertRuleVo;
import com.zzyl.vo.DeviceDataVo;

import java.util.List;

public interface AlertRuleService {
    void create(AlertRuleDto alertRuleDto);

    PageResponse<AlertRuleVo> getPage(Integer pageNum, Integer pageSize, String alertRuleName, String functionName, String productKey);

    /**
     * 校验设备上报数据，进行报警规则过滤处理
     *
     * @param deviceDataVo 设备上报数据
     */
    void alertFilter(DeviceDataVo deviceDataVo);

    void delete(Long id);

    AlertRuleVo read(Long id);

    void update(AlertRuleDto alertRuleDto);

    void updateStatus(Integer id, Integer status);
}
